home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / TextEncodingConverter.a < prev    next >
Encoding:
Text File  |  1997-08-12  |  9.9 KB  |  291 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        TextEncodingConverter.a
  3. ;
  4. ;    Contains:    Text Encoding Conversion Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.7
  7. ;                Release:    Universal Interfaces 3.0.1
  8. ;
  9. ;    Copyright:    © 1994-1997 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__TEXTENCODINGCONVERTER__') = 'UNDEFINED' THEN
  19. __TEXTENCODINGCONVERTER__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  25.     include 'MixedMode.a'
  26.     ENDIF
  27.     IF &TYPE('__TEXTCOMMON__') = 'UNDEFINED' THEN
  28.     include 'TextCommon.a'
  29.     ENDIF
  30.  
  31. ; typedef OSType                         TECPluginSignature
  32.  
  33. ; typedef UInt32                         TECPluginVersion
  34.  
  35. ;  plugin signatures 
  36.  
  37. kTECSignature                    EQU        'encv'
  38. kTECUnicodePluginSignature        EQU        'puni'
  39. kTECJapanesePluginSignature        EQU        'pjpn'
  40. kTECChinesePluginSignature        EQU        'pzho'
  41. kTECKoreanPluginSignature        EQU        'pkor'
  42.  
  43. ;  converter object reference 
  44.  
  45.  
  46.  
  47.  
  48. ; typedef OSType                         TECPluginSig
  49.  
  50. TECConversionInfo        RECORD 0
  51. sourceEncoding             ds.l    1                ; offset: $0 (0)
  52. destinationEncoding         ds.l    1                ; offset: $4 (4)
  53. reserved1                 ds.w    1                ; offset: $8 (8)
  54. reserved2                 ds.w    1                ; offset: $A (10)
  55. sizeof                     EQU *                    ; size:   $C (12)
  56.                         ENDR
  57. ;  return number of encodings types supported by user's configuraton of the encoding converter 
  58. ;
  59. ; pascal OSStatus TECCountAvailableTextEncodings(ItemCount *numberEncodings)
  60. ;
  61.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  62.         IMPORT_CFM_FUNCTION TECCountAvailableTextEncodings
  63.     ENDIF
  64.  
  65. ;  fill in an array of type TextEncoding passed in by the user with types of encodings the current configuration of the encoder can handle. 
  66. ;
  67. ; pascal OSStatus TECGetAvailableTextEncodings(TextEncoding availableEncodings[2147483647], ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings)
  68. ;
  69.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  70.         IMPORT_CFM_FUNCTION TECGetAvailableTextEncodings
  71.     ENDIF
  72.  
  73. ;  return number of from-to encoding conversion pairs supported  
  74. ;
  75. ; pascal OSStatus TECCountDirectTextEncodingConversions(ItemCount *numberOfEncodings)
  76. ;
  77.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  78.         IMPORT_CFM_FUNCTION TECCountDirectTextEncodingConversions
  79.     ENDIF
  80.  
  81. ;  fill in an array of type TextEncodingPair passed in by the user with types of encoding pairs the current configuration of the encoder can handle. 
  82. ;
  83. ; pascal OSStatus TECGetDirectTextEncodingConversions(TECConversionInfo availableConversions[2147483647], ItemCount maxAvailableConversions, ItemCount *actualAvailableConversions)
  84. ;
  85.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  86.         IMPORT_CFM_FUNCTION TECGetDirectTextEncodingConversions
  87.     ENDIF
  88.  
  89. ;  return number of encodings a given encoding can be converter into 
  90. ;
  91. ; pascal OSStatus TECCountDestinationTextEncodings(TextEncoding inputEncoding, ItemCount *numberOfEncodings)
  92. ;
  93.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  94.         IMPORT_CFM_FUNCTION TECCountDestinationTextEncodings
  95.     ENDIF
  96.  
  97. ;  fill in an array of type TextEncodingPair passed in by the user with types of encodings pairs the current configuration of the encoder can handle. 
  98. ;
  99. ; pascal OSStatus TECGetDestinationTextEncodings(TextEncoding inputEncoding, TextEncoding destinationEncodings[2147483647], ItemCount maxDestinationEncodings, ItemCount *actualDestinationEncodings)
  100. ;
  101.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  102.         IMPORT_CFM_FUNCTION TECGetDestinationTextEncodings
  103.     ENDIF
  104.  
  105. ;  get info about a text encoding 
  106. ;
  107. ; pascal OSStatus TECGetTextEncodingInternetName(TextEncoding textEncoding, Str255 encodingName)
  108. ;
  109.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  110.         IMPORT_CFM_FUNCTION TECGetTextEncodingInternetName
  111.     ENDIF
  112.  
  113. ;
  114. ; pascal OSStatus TECGetTextEncodingFromInternetName(TextEncoding *textEncoding, ConstStr255Param encodingName)
  115. ;
  116.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  117.         IMPORT_CFM_FUNCTION TECGetTextEncodingFromInternetName
  118.     ENDIF
  119.  
  120. ;  create/dispose converters 
  121. ;
  122. ; pascal OSStatus TECCreateConverter(TECObjectRef *newEncodingConverter, TextEncoding inputEncoding, TextEncoding outputEncoding)
  123. ;
  124.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  125.         IMPORT_CFM_FUNCTION TECCreateConverter
  126.     ENDIF
  127.  
  128. ;
  129. ; pascal OSStatus TECCreateConverterFromPath(TECObjectRef *newEncodingConverter, const TextEncoding inPath[2147483647], ItemCount inEncodings)
  130. ;
  131.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  132.         IMPORT_CFM_FUNCTION TECCreateConverterFromPath
  133.     ENDIF
  134.  
  135. ;
  136. ; pascal OSStatus TECDisposeConverter(TECObjectRef newEncodingConverter)
  137. ;
  138.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  139.         IMPORT_CFM_FUNCTION TECDisposeConverter
  140.     ENDIF
  141.  
  142. ;  convert text encodings 
  143. ;
  144. ; pascal OSStatus TECClearConverterContextInfo(TECObjectRef encodingConverter)
  145. ;
  146.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  147.         IMPORT_CFM_FUNCTION TECClearConverterContextInfo
  148.     ENDIF
  149.  
  150. ;
  151. ; pascal OSStatus TECConvertText(TECObjectRef encodingConverter, ConstTextPtr inputBuffer, ByteCount inputBufferLength, ByteCount *actualInputLength, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength)
  152. ;
  153.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  154.         IMPORT_CFM_FUNCTION TECConvertText
  155.     ENDIF
  156.  
  157. ;
  158. ; pascal OSStatus TECFlushText(TECObjectRef encodingConverter, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength)
  159. ;
  160.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  161.         IMPORT_CFM_FUNCTION TECFlushText
  162.     ENDIF
  163.  
  164. ;  one-to-many routines 
  165. ;
  166. ; pascal OSStatus TECCountSubTextEncodings(TextEncoding inputEncoding, ItemCount *numberOfEncodings)
  167. ;
  168.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  169.         IMPORT_CFM_FUNCTION TECCountSubTextEncodings
  170.     ENDIF
  171.  
  172. ;
  173. ; pascal OSStatus TECGetSubTextEncodings(TextEncoding inputEncoding, TextEncoding subEncodings[2147483647], ItemCount maxSubEncodings, ItemCount *actualSubEncodings)
  174. ;
  175.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  176.         IMPORT_CFM_FUNCTION TECGetSubTextEncodings
  177.     ENDIF
  178.  
  179. ;
  180. ; pascal OSStatus TECGetEncodingList(TECObjectRef encodingConverter, ItemCount *numEncodings, Handle *encodingList)
  181. ;
  182.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  183.         IMPORT_CFM_FUNCTION TECGetEncodingList
  184.     ENDIF
  185.  
  186. ;
  187. ; pascal OSStatus TECCreateOneToManyConverter(TECObjectRef *newEncodingConverter, TextEncoding inputEncoding, ItemCount numOutputEncodings, const TextEncoding outputEncodings[2147483647])
  188. ;
  189.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  190.         IMPORT_CFM_FUNCTION TECCreateOneToManyConverter
  191.     ENDIF
  192.  
  193.  
  194. ;
  195. ; pascal OSStatus TECCreateOneToManyConverterFromPath(TECObjectRef *newEncodingConverter, const TextEncoding inPath[2147483647], ItemCount inEncodings, ItemCount numOutputEncodings, const TextEncoding outputEncodings[2147483647])
  196. ;
  197.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  198.         IMPORT_CFM_FUNCTION TECCreateOneToManyConverterFromPath
  199.     ENDIF
  200.  
  201. ;
  202. ; pascal OSStatus TECConvertTextToMultipleEncodings(TECObjectRef encodingConverter, ConstTextPtr inputBuffer, ByteCount inputBufferLength, ByteCount *actualInputLength, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength, TextEncodingRun outEncodingsBuffer[2147483647], ItemCount maxOutEncodingRuns, ItemCount *actualOutEncodingRuns)
  203. ;
  204.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  205.         IMPORT_CFM_FUNCTION TECConvertTextToMultipleEncodings
  206.     ENDIF
  207.  
  208. ;
  209. ; pascal OSStatus TECFlushMultipleEncodings(TECObjectRef encodingConverter, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength, TextEncodingRun outEncodingsBuffer[2147483647], ItemCount maxOutEncodingRuns, ItemCount *actualOutEncodingRuns)
  210. ;
  211.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  212.         IMPORT_CFM_FUNCTION TECFlushMultipleEncodings
  213.     ENDIF
  214.  
  215. ;  international internet info 
  216. ;
  217. ; pascal OSStatus TECCountWebTextEncodings(RegionCode locale, ItemCount *numberEncodings)
  218. ;
  219.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  220.         IMPORT_CFM_FUNCTION TECCountWebTextEncodings
  221.     ENDIF
  222.  
  223. ;
  224. ; pascal OSStatus TECGetWebTextEncodings(RegionCode locale, TextEncoding availableEncodings[2147483647], ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings)
  225. ;
  226.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  227.         IMPORT_CFM_FUNCTION TECGetWebTextEncodings
  228.     ENDIF
  229.  
  230. ;
  231. ; pascal OSStatus TECCountMailTextEncodings(RegionCode locale, ItemCount *numberEncodings)
  232. ;
  233.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  234.         IMPORT_CFM_FUNCTION TECCountMailTextEncodings
  235.     ENDIF
  236.  
  237. ;
  238. ; pascal OSStatus TECGetMailTextEncodings(RegionCode locale, TextEncoding availableEncodings[2147483647], ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings)
  239. ;
  240.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  241.         IMPORT_CFM_FUNCTION TECGetMailTextEncodings
  242.     ENDIF
  243.  
  244. ;  examine text encodings 
  245. ;
  246. ; pascal OSStatus TECCountAvailableSniffers(ItemCount *numberOfEncodings)
  247. ;
  248.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  249.         IMPORT_CFM_FUNCTION TECCountAvailableSniffers
  250.     ENDIF
  251.  
  252. ;
  253. ; pascal OSStatus TECGetAvailableSniffers(TextEncoding availableSniffers[2147483647], ItemCount maxAvailableSniffers, ItemCount *actualAvailableSniffers)
  254. ;
  255.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  256.         IMPORT_CFM_FUNCTION TECGetAvailableSniffers
  257.     ENDIF
  258.  
  259. ;
  260. ; pascal OSStatus TECCreateSniffer(TECSnifferObjectRef *encodingSniffer, TextEncoding testEncodings[2147483647], ItemCount numTextEncodings)
  261. ;
  262.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  263.         IMPORT_CFM_FUNCTION TECCreateSniffer
  264.     ENDIF
  265.  
  266. ;
  267. ; pascal OSStatus TECSniffTextEncoding(TECSnifferObjectRef encodingSniffer, TextPtr inputBuffer, ByteCount inputBufferLength, TextEncoding testEncodings[2147483647], ItemCount numTextEncodings, ItemCount numErrsArray[2147483647], ItemCount maxErrs, ItemCount numFeaturesArray[2147483647], ItemCount maxFeatures)
  268. ;
  269.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  270.         IMPORT_CFM_FUNCTION TECSniffTextEncoding
  271.     ENDIF
  272.  
  273. ;
  274. ; pascal OSStatus TECDisposeSniffer(TECSnifferObjectRef encodingSniffer)
  275. ;
  276.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  277.         IMPORT_CFM_FUNCTION TECDisposeSniffer
  278.     ENDIF
  279.  
  280. ;
  281. ; pascal OSStatus TECClearSnifferContextInfo(TECSnifferObjectRef encodingSniffer)
  282. ;
  283.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  284.         IMPORT_CFM_FUNCTION TECClearSnifferContextInfo
  285.     ENDIF
  286.  
  287.  
  288.  
  289.     ENDIF ; __TEXTENCODINGCONVERTER__ 
  290.  
  291.